package com.zpself.module.算法练习.计算;

/**
 * @author By ZengPeng
 * @Description 编写一个程序获取弟n个丑数。
 * 丑数就是只包含质因数 2, 3, 5 的正整数。
 * @date in  2021/1/21 14:43
 * @Modified By
 */
public class 力扣_264_丑数II {
    public static void main(String[] args) {

        System.out.println(myAnswer(14));
    }

    public  static  int myAnswer(int n){
        //用以记录最小的三个数 的下坐标。并不知道谁小，会交替排名
        int i2=0,i3=0,i5=0;
        int[] li = new int[n];
        li[0] = 1;
        for (int i = 1; i<n;i++){
            li[i] = Math.min(Math.min(2*li[i2],3*li[i3]),5*li[i5]);
            if (li[i]==2*li[i2]) i2++;
            if (li[i]==3*li[i3]) i3++;
            if (li[i]==5*li[i5]) i5++;
        }
        return li[n-1];
    }
}
